home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
PPC1B3AA.ZIP
/
DOS2UNIX.PPS
< prev
next >
Wrap
Text File
|
1996-08-29
|
2KB
|
85 lines
;----------------------------------------------------------------------------
; Copyright(C) 1996, The AEGiS Corporation
;----------------------------------------------------------------------------
;
; FUNCTION DosToUnix()
;
; Convert a DOS date (Date & Time) to an UNIX Date (count of seconds since
; midnight 01/01/70)
;
;----------------------------------------------------------------------------
#lib
#nouser
Declare Function DosToUnix(Date DateValue, Time TimeValue) UNSIGNED
;--------------------------------------------------------------------------
; DOSdate&time -> UNIXdate&time
;
Function DosToUnix(Date DateValue, Time TimeValue) UNSIGNED
int tyear
int tday
int tmonth
unsigned dat
tday = day(DateValue)
tmonth = month(DateValue)
tyear = year(DateValue)-1968
if (tyear % 4 = 0) then
select case tmonth
case 2
tday = tday + 31
case 3
tday = tday + 60
case 4
tday = tday + 91
case 5
tday = tday + 121
case 6
tday = tday + 152
case 7
tday = tday + 182
case 8
tday = tday + 213
case 9
tday = tday + 244
case 10
tday = tday + 274
case 11
tday = tday + 305
case 12
tday = tday + 335
end select
else
select case tmonth
case 2
tday = tday + 31
case 3
tday = tday + 59
case 4
tday = tday + 90
case 5
tday = tday + 120
case 6
tday = tday + 151
case 7
tday = tday + 181
case 8
tday = tday + 212
case 9
tday = tday + 243
case 10
tday = tday + 273
case 11
tday = tday + 304
case 12
tday = tday + 334
end select
end if
dat = tday * 86400 + (tyear - 2) * 365 * 86400 + (tyear/4)*86400 + TimeValue
DosToUnix = dat
EndFunc